X (Twitter) Follower Scraper | From $0.10/1K | Pay-Per Result
Pricing
from $0.0001 / followers
X (Twitter) Follower Scraper | From $0.10/1K | Pay-Per Result
Rising starScrape X (Twitter) followers, following, verified followers, list members, list subscribers & community members from $0.10 per 1,000 profiles on paid Apify plans. Filter before you pay. No start fee. No query fee. No X API key. No rate limits. Built by Xquik.
Pricing
from $0.0001 / followers
Rating
5.0
(4)
Developer
Xquik
Maintained by CommunityActor stats
5
Bookmarked
151
Total users
59
Monthly active users
3 days ago
Last modified
Share
Scrape X (Twitter) followers, following, verified followers, list members, list subscribers and community members at scale from $0.10 per 1,000 delivered profiles on paid Apify plans. Apify's pricing box remains authoritative for your account before each run. No X API key needed, no rate limits, no login required, no start fee, no query fee. Built by Xquik.
What does X Follower Scraper do?
X Follower Scraper extracts complete profile data for the followers, following, list members, list subscribers and community members of any public X (formerly Twitter) account. It returns structured JSON ready for audience analysis, lead generation, competitor research, or integration into your pipeline.
Why choose this actor first?
- Best value for flexible follower scraping - paid Apify plans start at $0.10 per 1,000 delivered profiles, with no start fee, no query fee, and filters applied before billing
- No forced relation split - scrape followers, following, verified followers, list members, list subscribers, and community members in one Actor
- Works with the inputs users actually have - mix handles, numeric user IDs, profile URLs, list URLs, community URLs, and short paths in the same run
- Built for audience intelligence - dedupe across targets, merge overlaps,
preserve source targets, and export
overlapCountwithout extra processing - Budget-safe by design - filtered-out profiles and duplicates are not charged, empty runs produce only 1 diagnostic row, and Apify spend limits stop writes cleanly at the maximum billable row count
What can this scraper do?
- Scrape X followers - paste a profile URL like
https://x.com/nasa/followersand export every follower profile - Scrape X following - paste
https://x.com/nasa/followingto export every account a user follows - Scrape X verified followers only - paste
https://x.com/nasa/verified_followersto target only Premium / verified accounts - Scrape X list members - paste a list URL like
https://x.com/i/lists/1748648376080666720/membersto export everyone on the list - Scrape X list subscribers - export users who follow a list via
https://x.com/i/lists/<id>/followers - Scrape X community members - export members of any public X Community via
https://x.com/i/communities/<id>/members - Bulk X profile follower scraper - pass an array of handles like
["elonmusk", "nasa"]and scrape many targets in one run - Competitor-style aliases - use
urls,targets,profileUrls,username,usernames,user_names,twitterUserIds, oruser_ids - Short paths - pass
handle/followers,handle/following,lists/ID/members,lists/ID/followers, orcommunities/ID/members - Multi-relation runs - set
relationsor relation booleans such asgetFollowersandgetFollowingto scrape multiple supported relations for the same target - Filters before billing - apply
minFollowers,verifiedOnly,bioContains,locationContains,verifiedType, and activity filters before rows enter your dataset - Dedup across targets - keep per-target rows, first match only, or merged overlap rows with source arrays
- Overlap analysis - set
dedupeMode: "merge"oroverlapMode: trueto exportsourceTargets,sourceRelations,sourceUrls, andoverlapCount - Per-target attribution - every row carries
sourceTarget,sourceRelationandsourceUrlso you always know where a profile came from
What data can X Follower Scraper extract?
| Field | Description |
|---|---|
id | Numeric X user ID |
username | Handle (without @) |
name | Display name |
description | Bio text |
followers | Follower count |
following | Following count |
statusesCount | Total tweets posted |
mediaCount | Total media uploaded |
favouritesCount | Total likes given |
verified | Verified (Premium) flag |
verifiedType | blue, business, government, or none |
location | Self-reported location |
url | Website URL from profile |
profilePicture | Avatar URL (full-size) |
coverPicture | Banner URL |
createdAt | Account creation timestamp string from X |
canDm | Whether the account accepts DMs |
sourceTarget | Handle / ID you scraped this profile from |
sourceRelation | Relation: followers, following, list_members, ... |
sourceUrl | Exact URL the profile was discovered on |
sourceTargets | All targets that matched this profile in merge mode |
sourceRelations | All relations that matched this profile in merge mode |
sourceUrls | All source URLs that matched this profile in merge mode |
overlapCount | Number of matching relation-target pairs in merge mode |
resultType | Row type in full and raw output modes |
raw | Raw profile object when outputMode: "raw" |
Set outputMode: "full" to also get optional profile fields such as entities,
pinned tweet IDs, and other profile metadata when available.
Set outputMode: "raw" or includeRaw: true to include a raw copy of the
profile object. Compact mode remains the default.
Why scrape X followers?
- Lead generation - pull the followers of a competitor or niche influencer and build a targeted outreach list
- Audience analysis - understand who follows you vs a competitor, spot overlap, find lookalike prospects
- Influencer discovery - filter followers by
minFollowersandverifiedOnlyto surface the most influential people in any community - Competitor research - export a rival brand's follower base, segment by bio keyword, location, or engagement proxies
- Community research - export the members of any X Community for academic, market, or product research
- List auditing - verify who is on a curated X list and how the list has grown
- Retargeting seeds - build follower-based audiences for downstream ad, email, or outreach campaigns
- Academic research - build social-network datasets for trend analysis, NLP training, or sociological study
All runs on Apify's platform with built-in scheduling, webhooks, API access, integrations (Make, n8n, Zapier), proxy rotation, and dataset export in JSON, CSV, Excel, or HTML.
How much does it cost to scrape X followers?
On paid Apify plans, Xquik's listing price is $0.00010 per delivered profile
($0.10 per 1,000). The Apify Console pricing box is authoritative and shows
the current price for your account tier before the run starts. Xquik charges
only for rows written to the default dataset: profile rows and at most 1
diagnostic row for an empty run. No subscriptions, no hidden fees, no start fee.
Each run also writes a run-report record with estimatedChargeUsd calculated
from the live pay-per-event price Apify exposes to the Actor.
- No separate start or query events. Starts, targets, and relation selection do not add separate query charges.
- Never charged for filtered-out profiles. Filters (
minFollowers,verifiedOnly,bioContains,locationContains,minFollowing,maxFollowing,minStatuses,maxStatuses,minAccountAgeDays,verifiedType,usernameContains,hasWebsite,hasLocation) run before a profile enters your dataset. - Never charged for duplicates. When
dedupeAcrossTargets: true, repeats are dropped before the dataset write. - Never charged for data not delivered. On timeout or hard failure, already-fetched profiles are flushed and the run exits cleanly; anything the Actor never pushed, you never pay for.
- One diagnostic row for non-data exits. No-input, invalid-input, and
zero-output runs write 1 structured diagnostic dataset row with
resultType: "diagnostic"and astatussuch asno-input,invalid-input, orzero-output. Diagnostic rows explain what happened and are easy to filter out withdataset.filter(r => r.resultType !== "diagnostic").
Set maxTotalChargeUsd in the Apify API, or Max cost per run in Console, to
hard-cap spend. Apify exposes that limit to the Actor as
ACTOR_MAX_TOTAL_CHARGE_USD, and the Actor respects it strictly. Leave
maxItems empty to let the run return as many profiles as the spend cap allows.
Set maxItems only when you want a smaller result cap than the budget would
allow.
How do I use X Follower Scraper to scrape follower data?
1. Paste profile or list URLs
Paste any mix of profile, list, or community URLs and the scraper routes each to the correct relation automatically:
{"startUrls": [{ "url": "https://x.com/nasa/followers" },{ "url": "https://x.com/spacex/verified_followers" },{ "url": "https://x.com/elonmusk/following" },{ "url": "https://x.com/i/lists/1748648376080666720/members" },{ "url": "https://x.com/i/communities/1493446837214187523/members" }],"maxItems": 5000}
2. Bulk handles
Shorthand for many /<handle>/followers targets. Usernames accept @ or no
prefix:
{"twitterHandles": ["elonmusk", "nasa", "openai"],"relation": "followers","maxItems": 1000}
Set relation to followers, following, or verified_followers to switch
what is scraped for every handle.
Aliases accepted for the same input include username, usernames, and
user_names.
3. Multi-relation runs
{"usernames": ["nasa"],"relations": ["followers", "following"],"maxItems": 1000}
You can also use booleans such as getFollowers, getFollowing,
getVerifiedFollowers, getListMembers, getListFollowers, and
getCommunityMembers.
4. Scrape by numeric user, list, or community IDs
{"userIds": ["44196397"],"listIds": ["1748648376080666720"],"communityIds": ["1493446837214187523"],"relation": "followers","maxItems": 2000}
Aliases accepted for numeric user IDs include twitterUserIds and user_ids.
5. Filter before you pay
Apply filters so only matching profiles enter your dataset:
{"twitterHandles": ["openai"],"relation": "followers","minFollowers": 1000,"verifiedOnly": true,"verifiedType": "business","minStatuses": 100,"usernameContains": "ai","bioContains": "founder","locationContains": "San Francisco","maxItems": 500}
The Actor may inspect more profiles than it writes. You only pay for rows that pass every filter and enter your dataset.
6. Find audience overlap
Use merge mode to compare competitors, lists, communities, or relation types:
{"twitterHandles": ["openai", "anthropicai", "GoogleDeepMind"],"relation": "followers","dedupeMode": "merge","maxItemsPerTarget": 5000,"maxItems": 15000}
The output contains one row per unique profile. Shared profiles include
sourceTargets, sourceRelations, sourceUrls, sourceTargetKeys, and
overlapCount, so you can sort by overlap or export directly to CSV. Keep
maxItems high enough to let every target contribute rows; use
maxItemsPerTarget to control depth per account.
Accepted URL shapes
| URL | Relation |
|---|---|
https://x.com/<handle>/followers | followers |
https://x.com/<handle>/verified_followers | verified_followers |
https://x.com/<handle>/following | following |
https://x.com/<handle> | default relation (followers if unset) |
https://x.com/i/lists/<id>/members | list_members |
https://x.com/i/lists/<id>/followers | list_followers |
https://x.com/i/lists/<id> | list_members |
https://x.com/i/communities/<id>/members | community_members |
https://x.com/i/communities/<id> | community_members |
<handle>/followers | followers |
<handle>/following | following |
<handle>/verified_followers | verified_followers |
lists/<id>/members | list_members |
lists/<id>/followers | list_followers |
communities/<id>/members | community_members |
twitter.com and mobile.twitter.com are also accepted everywhere.
Input
See the Input tab for the complete list of options. All fields are optional
except at least one of: startUrls, twitterHandles, userIds, listIds, or
communityIds, or their documented aliases.
Common patterns:
- Competitor follower export - add the competitor handle to
twitterHandleswithrelation: "followers" - Verified-only lead list - paste
https://x.com/<handle>/verified_followersinto Start URLs - List audit - paste the list URL into Start URLs
- Multi-account overlap - add 2+ handles, set
dedupeAcrossTargets: trueto keep only the first matching profile row, or usededupeMode: "merge"to keep one row with all matching source targets
Output
Each profile is a JSON object. Compact mode (default) returns 17 normalized profile fields, schema version fields, and source metadata:
{"schemaVersion": 1,"_schema_version": 1,"id": "44196397","username": "elonmusk","name": "Elon Musk","description": "...","followers": 180000000,"following": 500,"statusesCount": 42000,"mediaCount": 3200,"favouritesCount": 120000,"verified": true,"verifiedType": "blue","location": "...","url": "https://...","profilePicture": "https://...","coverPicture": "https://...","createdAt": "Tue Jun 02 20:12:29 +0000 2009","canDm": true,"sourceTarget": "nasa","sourceRelation": "followers","sourceUrl": "https://x.com/nasa/followers"}
Merge dedupe mode adds overlap fields:
{"schemaVersion": 1,"_schema_version": 1,"id": "44196397","username": "elonmusk","sourceTargets": ["nasa", "spacex"],"sourceRelations": ["followers"],"sourceUrls": ["https://x.com/nasa/followers","https://x.com/spacex/followers"],"sourceTargetKeys": ["followers:nasa", "followers:spacex"],"overlapCount": 2}
Export as JSON, CSV, Excel, or HTML from the Apify dataset.
Tips & advanced options
- Control spend - set Apify max total charge to cap run cost. Leave
maxItemsempty for maximum rows within that budget, or setmaxItemsandmaxItemsPerTargetwhen you want fewer profiles. - Filter before you pay - combine
minFollowers,verifiedOnly,verifiedType,minStatuses,usernameContains,bioContains,locationContains,hasWebsite, andhasLocationto narrow the billed dataset. - Dedup - set
dedupeAcrossTargets: truewhen scraping multiple competitor handles to get only unique profiles across all targets. - Overlap analysis - set
dedupeMode: "merge"to get one row per profile with every matching source target attached. - Full profile output - set
outputMode: "full"to get optional profile fields such as pinned tweet IDs, entities, and profile metadata when available. - Raw profile payload - set
outputMode: "raw"orincludeRaw: trueto include arawobject alongside normalized fields. - Real-time monitoring - for ongoing monitoring of new followers, use the Xquik API webhooks. They cost less than repeated Actor runs for watch-style workloads.
Use cases
- Lead generation - export competitor followers and build targeted lists
- Audience research - analyze who follows you, a competitor, or an influencer
- Influencer discovery - filter by follower count and verification to find the most influential people in any niche
- Community growth - export members of relevant X Communities for outreach
- Academic research - build large-scale social-network datasets
- Marketing intelligence - segment follower bases by bio keyword, location, or profile type
Why X Follower Scraper vs other follower scrapers?
Most follower actors can export followers and following. X Follower Scraper is built for users who need flexible targets, relation breadth, clean dedupe, and simple per-result pricing without start or query fees.
| User need | X Follower Scraper | Common top-actor tradeoff |
|---|---|---|
| Paid-plan result price | from $0.10 / 1,000 | About $0.10 to $5.00 / 1,000 |
| Start fee | None | Some add an Actor Start event |
| Query fee | None | Some charge follower/query events |
| Followers and following | Yes | Usually yes |
| Verified followers | Yes | Varies |
| List members and subscribers | Yes | Often missing one relation |
| Community members | Yes | Rare |
| Handles, IDs, URLs, short paths | Yes, mixed in one run | Often separate inputs only |
| Filters before billing | Yes, 14 filters | Often absent or after export |
| Dedupe across targets | Drop, keep, or merge | Often basic or unavailable |
| Overlap analysis | Built-in merge output | Rare |
| Per-target attribution | Yes | Varies |
| Empty run diagnostics | 1 structured row | Often silent empty datasets |
| Apify spending limit handling | Stops when limit is reached | Varies |
| Full X automation suite | Yes, Xquik API + webhooks | Usually standalone scraping only |
Always check each Actor's Pricing tab before running because Apify Store pricing can change.
Public issue patterns this actor is designed to avoid
We reviewed public X/Twitter follower actor listings, READMEs, reviews, and issue tabs on Apify. Common user complaints include fixed low result caps, ID-based runs returning nothing, duplicate-heavy exports, unclear empty runs, missing list/community support, and start fees that make small tests expensive. X Follower Scraper handles those points directly:
- No start or query fee - users pay only for delivered profile rows and the single diagnostic row on empty runs.
- Flexible target parsing - handles, numeric user IDs, profile URLs, list URLs, community URLs, and short paths can be mixed in one run.
- No fixed 10-row or 70-row ceiling -
maxItemsandmaxItemsPerTargetcontrol output. - Filters run before billing - filtered-out profiles never enter the dataset.
- Duplicate strategy is explicit - keep per-target rows, drop duplicates, or
merge overlaps with
sourceTargets,sourceRelations, andoverlapCount. - Empty runs are explainable - no input, invalid targets, and zero matches return a structured diagnostic row.
- Partial runs stay useful - fetched profiles are flushed, stop reasons are reported, and Apify spend limits are respected.
Is it legal to scrape X (Twitter) followers?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location beyond what the user has chosen to publish. They only extract what the user has chosen to share publicly on X. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Related Actors
- X Tweet Scraper - scrape tweets, engagement metrics, author profiles, and media with 40+ advanced search filters and pay-per-result pricing
If this scraper saves you time, a short review on the Apify Store helps other users find it. Thanks!
Need more than scraping?
Xquik is a full X automation platform with 40+ tools, a REST API, webhooks, and an MCP server for AI agents.
- API Documentation - full REST API with 70+ endpoints
- Followers API - the endpoint powering this Actor
- Following API - get who a user follows
- List Members API - export any X list
- MCP Server - connect X data to AI agents (Claude, GPT, etc.)
- Webhooks - real-time event delivery for new followers / unfollows
- GitHub - source code and issue tracker
FAQ
Do I need an X API key? No. This scraper uses its own infrastructure. No login or credentials required.
Is there a rate limit? No. Scrape as many profiles as you need.
How fast is it? Typically 20-50 profiles per second depending on account size and filter settings.
Why is my run returning fewer rows than maxItems? Because filters
(minFollowers, verifiedOnly, bioContains, etc.) are applied before rows
are written. Relax filters if you want more results.
How many followers can I scrape from a single account? Large accounts
(millions of followers) can be scraped, but X paginates in batches. Use
maxItemsPerTarget to chunk very large targets across multiple runs.
Does the Actor retry on 429 / timeout? Yes. 3 attempts per page with exponential backoff. Partial results are preserved on hard failures.
What happens if the run hits the Apify timeout? The Actor detects it 15
seconds early, flushes everything already fetched, and exits cleanly with a
Partial: ... status message. You are never billed for data not delivered.
Can I resume where I left off? Resume cursor input is not exposed yet. Use
maxItemsPerTarget to chunk large runs.
Can I use the Apify API to run this? Yes. See the API tab for integration examples in Python, JavaScript, cURL, and more.
Can I schedule recurring scrapes? Yes. Use Apify's built-in scheduling to run this Actor on a cron and watch for new followers over time.
Where do I report issues? Open an issue on GitHub or use the Issues tab on this Actor's page.
Can I get a custom solution? Yes. Visit xquik.com or check the API docs for direct API access with more endpoints and features.